1. Field of the Invention
The present invention relates generally to GNSS receivers, and in particular to a GNSS receiver connected to a storage device.
2. Description of the Related Art
Typically, a global navigation satellite system (GNSS, including without limitation GPS, GLONASS, etc.) receiver includes a correlation digital signal processor (DSP) for performing the correlation function required by a GNSS receiver and a general purpose processor for performing such functions as closing code and carrier tracking loops, calculating a GNSS solution, communicating with the user interface, and other generic tasks as required for the particular GNSS application. A GNSS receiver also typically contains a means to output data, often through a serial interface such as RS-232 or serial USB.
A wide variety of digital storage devices are commercially available. For example, universal serial bus (USB) flash drives are NAND-type flash memory data storage devices integrated with USB interfaces. They are typically small, lightweight, removable and rewritable. Memory capacities for USB flash drives currently range from 32 megabytes up to at least 8 gigabytes. Capacity is limited only by current flash memory densities, although cost per megabyte may increase rapidly at higher capacities due to the expensive components.
USB flash drives, which are sometimes referred to as thumb drives, offer potential advantages over other portable storage devices, particularly floppy disks. For example, their advantages generally include relatively large capacities, compactness, speed, self-powering, durability and reliability due to their lack of moving parts. Computers, including desktop and laptop (notebook) personal computer (PC) units, are commonly equipped with one or more USB ports. USB flash drives use the USB mass storage standard, which is supported natively by modern operating systems such as Windows, Mac OS X, Linux, and Unix. Flash drives are increasingly becoming a preferred means of data transfer, backup and storage.
USB is a polling technology. The host device (typically a PC) polls all client devices on the USB bus to determine if they need servicing. Servicing consists of either sending data to a USB endpoint or receiving data from a USB endpoint. A client device cannot initiate transactions; it can only respond to requests from a USB host.
High-end GNSS receivers and some low-end GNSS receivers are capable of outputting raw measurements such as pseudorange, (integrated) carrier phase, Doppler, and/or satellite navigation message data such as satellite ephemeris parameters, satellite clock correction parameters and ionosphere delay parameters. These receivers may output in a proprietary format or use commonly known RINEX format. In the past, output has typically been over a communication link such as RS-232, USB, or Ethernet.
Currently many of the general purpose processors that are used in GNSS receivers do not have hardware controllers or software that allows them to act as a USB host device. Some higher end processors, such as Freescale's MX31 processor, do include controllers that allow them to be USB hosts. In the exemplary embodiment, the Freescale MX31 processor is used as the GNSS receiver's processor since it supports the USB host functionality and also incorporates high performance vector floating point for rapid calculation of GNSS solutions.
Post-processing software using raw GNSS observations can significantly improve positioning accuracy. With the right equipment and under the right conditions, one can achieve decimeter, centimeter or even millimeter level positioning. Such processing requires data to be collected from at least two GNSS receivers, one of which is at a known position. Various methods of post-processing are known in the art.
In order to post-process such information, a system must output raw measurement data from a GNSS receiver, store this output data to a file (typically on a PC) and finally post-process the data using specialized software designed to perform functions that are difficult to do in real-time, including the simultaneous processing of data from multiple receivers, forward and backward filtering, use of precise orbits, and improved ionosphere and troposphere models.
With proper modeling of the ionosphere and troposphere it is possible to process baselines of several hundred kilometers in length, especially when using dual frequency equipment. Use of precise orbit files, for example, those in SP3 format from the International GNSS Service (IGS), virtually eliminates the effect of broadcast orbital errors on longer baselines. Ionosphere-free float solutions allow for accuracies of a few decimeters with tens of minutes of data over a thousand kilometers. Fixed solutions are sometimes possible with observations spanning several hours over a baseline several hundred kilometers in length.
What is needed is a way to output data for post processing and other types of data directly from a GNSS receiver to a USB Flash Drive, thus avoiding bottlenecks of conventional communication links, and furthermore, simplifying the data logging process by avoiding the use of external computers.
Therefore, the design criteria for GNSS receiver external storage systems would preferably included minimizing overall size and cost, and maximizing the capacity, speed and compatibility with common computer system configurations. Previous GNSS receiver and external storage device systems have not provided the advantages and features of the present invention.